/*
 * @Author: your name
 * @Date: 2022-02-25 09:16:56
 * @LastEditTime: 2022-02-25 09:52:41
 * @LastEditors: Please set LastEditors
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: \briup-study\JS\1-变量.js
 */

// 变量声明 var（es5） let const（es6
//声明并初始化 多个变量
/*  var a=1,b=2,c=3,d='hello'
 console.log(a,b,c,d) */
 //var 声明变量的特点
 /*console.log(a)
 var a='b'
 console.log(a)
//var 声明变量
//1.使用var声明的变量存在变量提升
//2.使用var声明的变量可以重复声明
//3.var声明的变量作用域没有块级作用域
    /*  var a;
    console.log(a)
    a=1
    console.log(a) */

  /*  var a=3
    var a='hello'
    console.log(a) //js中没有重载只有重写
 //使用代码块{}包裹起来的就叫块级作用域*/
 function test(){
    if(true){
        var a='hello';
        console.log(a);//hello
    }else{
    
    }
    console.log(a);//hello
}
test()
//console.log(a);//报错,var声明的变量写在函数体内就叫局部变量，写在外面就叫全局变量
//在函数体内没有使用var定义变量就是一个全局变量
function foo(){
    messge='hello world'
    console.log(messge)
}
foo()
console.log(messge)
    //用var操作符定义的变量将成为定义该变量的作用域中的局部变量
    //全局作用域
    function b() {
        a = 10;
       return;
        }
        var a = 1;
        b();
        console.log(a);//10